/**
 * [webpack description]
 * @type {[type]}
 */
var webpack =  require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');

// 环境变量配置 dev/online
var WEBPACK_ENV = process.env.WEBPACK_ENV || 'dev';


// 获取html-webpack-plugin参数的方法
var getHtmlConfig = function(name, title) {
	return {
		template	: './src/view/' + name + '.html',
		filename	: 'view/' + name + '.html', 
		title		: title, 
		inject		: true, 
		hash		: true, 
		chunks		: ['common', name]
	}
}

var config = {
	entry: {
		'common'		: ['./src/page/common/index.js'],
		'index'			: ['./src/page/index/index.js'],
		'login'			: ['./src/page/login/index.js'],
		'result'		: ['./src/page/result/index.js'],
		'user-login'	: ['./src/page/user-login/index.js'],
		'user-register'	: ['./src/page/user-register/index.js'],
	},
	
	output: {
		path: './dist',
		publicPath: '/dist',
		filename: 'js/[name].js',
	},
	externals: {
		'jquery': 'window.jQuery'
	},

	module: {
		loaders: [
			{test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader')},
			{test: /\.(gif|png|jpg|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=100&name=resource/[name].[hash:8].[ext]'},
		]
	},

	// 配置路径别名
	resolve: {
		// 文件后缀别名
		// extensions : ['','.js','.json'],

		// 文件别名
		alias: {
			node_modules	:  __dirname + '/node_modules',
			image			:  __dirname + '/src/image',
			page			:  __dirname + '/src/page',
			service			:  __dirname + '/src/service',
			util			:  __dirname + '/src/util',
		}
	}, 
	
	plugins: [
		// 独立通用模块 js/base.js
		new webpack.optimize.CommonsChunkPlugin({
			name: 'common',
			filename: 'js/base.js'
		}),

		// 把css单独打包到文件里
		new ExtractTextPlugin('css/[name].css'),

		// html 模板处理
		new HtmlWebpackPlugin(getHtmlConfig('index', '首页')),
		new HtmlWebpackPlugin(getHtmlConfig('test-login', '测试登录')),
		new HtmlWebpackPlugin(getHtmlConfig('result', '操作结果')),
		new HtmlWebpackPlugin(getHtmlConfig('user-login', '用户登录')),
		new HtmlWebpackPlugin(getHtmlConfig('user-register', '用户注册')),

	],
}


if('dev' === WEBPACK_ENV) {
	config.entry.common.push('webpack-dev-server/client?http://localhost:8089/')
}

// console.log(webpack.htmlWebpackPlugin.options)
// console.log(HtmlWebpackPlugin.options)


module.exports = config;